
#ifndef _APDU_LIB_MAC_MGR_H_
#define _APDU_LIB_MAC_MGR_H_

#include "../apdu.def/apdu_datatypes.h"


#ifdef __cplusplus
extern "C" {
#endif
	int app_mac_init(HANDLE devHandle, int app_id, int container_id, int key_id, unsigned long alg_id,
					unsigned char * iv, int iv_len, unsigned long padding_type, unsigned long feed_bit_len);


	int app_mac(HANDLE devHandle, int app_id, int container_id, int key_id, 
					unsigned char * input_data, int input_len, unsigned char * mac_result, int * mac_len);

	int app_mac_update(HANDLE devHandle, int app_id, int container_id, int key_id, 
					unsigned char * input_data, int input_len);

	int app_mac_final(HANDLE devHandle, int app_id, int container_id, int key_id, 
					unsigned char * input_data, int input_len, unsigned char * mac_result, int * mac_len);


#ifdef __cplusplus
}
#endif

#endif
